/* #ifdef H5  */
const bgAudioManager = uni.createInnerAudioContext();
/* #endif */
/* #ifdef APP-PLUS */
const bgAudioManager = uni.getBackgroundAudioManager();
/* #endif */
bgAudioManager.autoplay = false;


function initPlayer(that){
	if(that.currentPlaySong){
		that.$u.vuex("currentPlayer",{
			playState:false,
			progress:0,
			musicId:that.currentPlaySong.id,
		});
		bgAudioManager.title = that.currentPlaySong.songName;
		bgAudioManager.singer = that.currentPlaySong.artist;
		bgAudioManager.coverImgUrl = that.currentPlaySong.pic;
		bgAudioManager.src =  that.currentPlaySong.playSrc;
		console.log("播放器初始化完成");
		bindOnControllerPlay(that);
	}
}

function bindOnControllerPlay(that){
	let playState=that.currentPlayer.playState;
	console.log("that.currentPlayer.progress",that.currentPlayer.progress);
	if(playState){
		bgAudioManager.pause();
	}else{
		if(that.currentPlayer.canPlay==false){
			initPlayer(that);
			return;
		}else{
			bgAudioManager.play();
			that.$u.vuex("currentPlayer.canPlay",true);
		}
	}
	playState=!playState;
	console.log("当前播放状态===",playState);
	that.$u.vuex("currentPlayer.playState",playState);
	that.$u.vuex("currentPlayer.canPlay",true);
	bgAudioManager.onTimeUpdate((e) => {
		let progress = (bgAudioManager.currentTime / bgAudioManager.duration) * 100;
		if (progress) {
			that.$u.vuex("currentPlayer.progress",progress);
		}
	});
	bgAudioManager.onError(()=>{
		resetPlayer(that);
	});
	bgAudioManager.onEnded(() => {
		resetPlayer(that);
	});
}

function resetPlayer(that,player){
	bgAudioManager.stop();
	that.$u.vuex("currentPlayer.playState",false);
	that.$u.vuex("currentPlayer.progress",0);
	that.$u.vuex("currentPlayer.canPlay",false);
}

module.exports = {
	initPlayer,
	bindOnControllerPlay,
	resetPlayer,
	bgAudioManager
}